package com.xbongbong.pro.statistics.strategy.chart.type;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.statistics.pojo.dto.ChartAnalysisDTO;
import com.xbongbong.pro.statistic.result.pojo.vo.ChartAnalysisVO;
import com.xbongbong.pro.statistics.pojo.dto.GenerateSqlDTO;
import com.xbongbong.pro.statistics.pojo.vo.GenerateSqlVO;

/**
 * 图表类型策略接口
 * @author xinpeng.jiang
 * @version V1.0
 * @date 2021/11/1 14:08
 * @since V1.0
 */
public interface ChartTypeStrategyService {

    /**
     * 图表结果解析
     * @param chartAnalysisDTO
     * @return com.alibaba.fastjson.JSONObject
     * @throws XbbException
     * @author xinpeng.jiang
     * @date 2021/11/1 14:15
     * @version 1.0
     */
    ChartAnalysisVO chartAnalysis(ChartAnalysisDTO chartAnalysisDTO) throws XbbException;

    /**
     * 生成sql
     * @param generateSqlDTO
     * @return
     * @throws XbbException
     */
    GenerateSqlVO generateSql(GenerateSqlDTO generateSqlDTO) throws XbbException;
}
